//阚子路、张译文
#include "pv.h"
#include "ui_pv.h"
#include "Code/Component/ComponentParam.h"

PV::PV(QWidget* parent)
    : QDialog(parent)
    , ui(new Ui::PV)
{
    ui->setupUi(this);
    setWindowTitle("光伏属性"); // 设置窗口标题（光伏特有）
}

PV::~PV()
{
    delete ui;
}

// 读取界面输入的光伏功率（单位：kW）
double PV::getPower() const
{
    return ui->powerEdit->text().toDouble();
}



// 确认按钮点击：关闭对话框
void PV::on_confirmBtn_clicked()
{
    accept(); // 关闭对话框，返回QDialog::Accepted
}

// 取消按钮点击：关闭对话框
void PV::on_cancelBtn_clicked()
{
    reject(); // 关闭对话框，返回QDialog::Rejected
}

// 按钮盒确认（提交参数更新）
void PV::on_buttonBox_accepted()
{
    ComponentParam param;
    param.id = 1; // 光伏的唯一标识ID（与柴油发电机区分）
    param.type = "光伏"; // 组件类型（光伏特有）
    param.currentPower = getPower(); // 读取界面输入的功率
    // （可选）若需要存储效率、日照强度等参数，可扩展ComponentParam类
    // param.efficiency = getEfficiency();
    // param.irradiance = getIrradiance();

    emit paramsUpdated(param); // 发射信号，传递更新后的参数
    accept(); // 关闭对话框

    // 调试输出（验证参数）
    qDebug() << "光伏参数已更新：";
    qDebug() << "id=" << param.id << ", type=" << param.type << ", 功率=" << param.currentPower;
}
